package Vista;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import Controlador.Sistema;
import Modelo.DubCliente;

import java.awt.BorderLayout;
import java.awt.FlowLayout;



/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ViewActualizarCliente extends javax.swing.JFrame 
{
	
	private JLabel jLabel2;
	private JLabel jLabel3;
	private JLabel jLabel4;
	private JTextField nombre;
	private JLabel jLabel5;
	private JButton jBActivarCliente;
	private JTextField jTEmail;
	private JLabel jLabel6;
	private JButton jBNvaBusquedad;
	private JButton jBActualizar;
	private JLabel jLMensaje;
	private JTextField apellido;
	private JButton cancelar;
	private JButton jBBuscar;
	private JTextField dni;
	private JTextField telefono;
	private JTextField domicilio;
	private JLabel jLabel1;	
	public static ViewActualizarCliente instancia;

	private static final long serialVersionUID = 1L;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ViewActualizarCliente inst = new ViewActualizarCliente();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
				
			}
		});
	}
	
	private ViewActualizarCliente() {
		super();
		initGUI();
	}
	
	public static ViewActualizarCliente getInstancia() 
	{
		if (instancia== null)
			instancia = new ViewActualizarCliente();
		return instancia;
	}
		
	
	public ViewActualizarCliente(MenuPrincipal mnu) {
		super();
		initGUI();
		mnu.dispose();
	}
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			this.setTitle("Alta Cliente");

			{
				jLabel1 = new JLabel();
				getContentPane().add(jLabel1);
				jLabel1.setText("Nombre :");
				jLabel1.setBounds(33, 118, 64, 14);
			}
			{
				jLabel2 = new JLabel();
				getContentPane().add(jLabel2);
				jLabel2.setText("Domicilio :");
				jLabel2.setBounds(33, 191, 64, 16);
			}
			{
				jLabel3 = new JLabel();
				getContentPane().add(jLabel3);
				jLabel3.setText("Telefono :");
				jLabel3.setBounds(33, 232, 64, 14);
			}
			{
				jLabel4 = new JLabel();
				getContentPane().add(jLabel4);
				jLabel4.setText("DNI :");
				jLabel4.setBounds(21, 12, 64, 18);
			}
			{
				nombre = new JTextField();
				getContentPane().add(nombre);
				nombre.setBounds(109, 115, 219, 21);
				nombre.setEnabled(false);
			}
			{
				domicilio = new JTextField();
				getContentPane().add(domicilio);
				domicilio.setBounds(109, 188, 219, 22);
				domicilio.setEnabled(false);
			}
			{
				telefono = new JTextField();
				getContentPane().add(telefono);
				telefono.setBounds(109, 225, 219, 21);
				telefono.setEnabled(false);
			}
			{
				dni = new JTextField();
				getContentPane().add(dni);
				dni.setBounds(97, 9, 219, 21);
			}
			{
				jBBuscar = new JButton();
				getContentPane().add(jBBuscar);
				jBBuscar.setText("Buscar");
				jBBuscar.setBounds(21, 76, 105, 21);
				jBBuscar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) 
					{
						DubCliente a = Sistema.getInstancia().buscarClienteMostrar(dni.getText());
						if (a != null) 							
						{
							if (a.getEstado() == 0)
								{
								 JOptionPane.showMessageDialog(null, "El Cliente esta dado de baja, requiere ser reactivado", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
								 jBActivarCliente.setEnabled(true);
								 jBNvaBusquedad.setEnabled(true);
								 jBBuscar.setEnabled(false);
								 dni.setEnabled(false);
								 nombre.setText(a.getNombre());
								 apellido.setText(a.getApellido());
								 domicilio.setText(a.getDomicilio());
								 telefono.setText(Integer.toString(a.getTelefono()));
								 jTEmail.setText(a.getEmail());
								}
							else
							{
							nombre.setEnabled(true);
							apellido.setEnabled(true);
							domicilio.setEnabled(true);
							telefono.setEnabled(true);
							jTEmail.setEnabled(true);
							dni.setEnabled(false);
							jBActualizar.setEnabled(true);
							jBBuscar.setEnabled(false);
							jBNvaBusquedad.setEnabled(true);
							nombre.setText(a.getNombre());
							apellido.setText(a.getApellido());
							domicilio.setText(a.getDomicilio());
							telefono.setText(Integer.toString(a.getTelefono()));
							jTEmail.setText(a.getEmail());
							}
							
						//limpiarPantalla();
						//jLMensaje.setText("CLIENTE ENCONTRADO");
						}
						else
						{
						limpiarPantalla();
						jLMensaje.setText("CLIENTE NO EXISTENTE");
						}
					}
				});
			}
			{
				cancelar = new JButton();
				getContentPane().add(cancelar);
				cancelar.setText("Cancelar");
				cancelar.setBounds(240, 348, 114, 21);
				cancelar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt)
					{
						limpiarPantalla();
					}
				});
			}
			{
				jLabel5 = new JLabel();
				getContentPane().add(jLabel5);
				jLabel5.setText("Apellido:");
				jLabel5.setBounds(33, 152, 64, 15);
			}
			{
				apellido = new JTextField();
				getContentPane().add(apellido);
				getContentPane().add(getJLMensaje());
				getContentPane().add(getJBActualizar());
				getContentPane().add(getJBNvaBusquedad());
				getContentPane().add(getJLabel6());
				getContentPane().add(getJTextField1());
				getContentPane().add(getJBActivarCliente());
				apellido.setText("");
				apellido.setBounds(109, 148, 219, 22);
				apellido.setEnabled(false);
			}
			pack();
			this.setSize(424, 432);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
		private void limpiarPantalla()
		{
			nombre.setText("");
			apellido.setText("");
			domicilio.setText("");
			telefono.setText("");
			dni.setText("");
			jLMensaje.setText("");
			jTEmail.setText("");
			jBActivarCliente.setEnabled(false);
		}
		
		private JLabel getJLMensaje() {
			if(jLMensaje == null) {
				jLMensaje = new JLabel();
				jLMensaje.setBounds(33, 42, 321, 22);
			}
			return jLMensaje;
		}
		
		private JButton getJBActualizar() {
			if(jBActualizar == null) {
				jBActualizar = new JButton();
				jBActualizar.setText("Actualizar");
				jBActualizar.setBounds(12, 348, 105, 21);
				jBActualizar.setEnabled(false);
				jBActualizar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						boolean a = false;
						a = Sistema.getInstancia().actualizarCliente(dni.getText() , apellido.getText(), nombre.getText(), domicilio.getText(), Integer.parseInt(telefono.getText()), jTEmail.getText(), 1);
						if (a) 
						{
							limpiarPantalla();
							jLMensaje.setText("CLIENTE ACTUALIZADO EXITOSAMENTE");
						}
						else
						{
							limpiarPantalla();
							jLMensaje.setText("ERROR DE ACTUALIZACION");
						}
					}
				});
			}
			return jBActualizar;
		}
		
		private JButton getJBNvaBusquedad() {
			if(jBNvaBusquedad == null) {
				jBNvaBusquedad = new JButton();
				jBNvaBusquedad.setText("Nueva");
				jBNvaBusquedad.setBounds(248, 76, 106, 21);
				jBNvaBusquedad.setEnabled(false);
				jBNvaBusquedad.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("jBNvaBusquedad.actionPerformed, event="+evt);
						jBNvaBusquedad.setEnabled(false);
						jBBuscar.setEnabled(true);
						jBActualizar.setEnabled(false);
						dni.setEnabled(true);
						nombre.setEnabled(false);
						apellido.setEnabled(false);
						domicilio.setEnabled(false);
						telefono.setEnabled(false);
						jTEmail.setEnabled(false);
						limpiarPantalla();
					}
				});
			}
			return jBNvaBusquedad;
		}
		
		private JLabel getJLabel6() {
			if(jLabel6 == null) {
				jLabel6 = new JLabel();
				jLabel6.setText("Email");
				jLabel6.setBounds(33, 272, 64, 14);
			}
			return jLabel6;
		}
		
		private JTextField getJTextField1() {
			if(jTEmail == null) {
				jTEmail = new JTextField();
				jTEmail.setText("");
				jTEmail.setEnabled(false);
				jTEmail.setBounds(109, 265, 219, 21);
			}
			return jTEmail;
		}
		
		private JButton getJBActivarCliente() {
			if(jBActivarCliente == null) {
				jBActivarCliente = new JButton();
				jBActivarCliente.setText("ACTIVAR CLIENTE");
				jBActivarCliente.setBounds(33, 307, 295, 23);
				jBActivarCliente.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("jBActivarCliente.actionPerformed, event="+evt);
						Sistema.getInstancia().switchCliente(dni.getText(),1);
						jBActivarCliente.setEnabled(false);
						JOptionPane.showMessageDialog(null, "El Cliente fue reactivado exitosamente!!!", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
						
						limpiarPantalla();
					}
				});
				jBActivarCliente.setEnabled(false);
			}
			return jBActivarCliente;
		}

}
